Skip to content

ci: decouple Linux .deb/.rpm publishing from Flatpak#266

Merged
kilbot merged 2 commits into
mainfrom
fix/linux-publish-decouple-flatpak
Jun 12, 2026
Merged

ci: decouple Linux .deb/.rpm publishing from Flatpak#266
kilbot merged 2 commits into
mainfrom
fix/linux-publish-decouple-flatpak

Conversation

@kilbot

@kilbot kilbot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Problem

publish-linux makes .deb, .rpm, and .flatpak in one electron-forge publish invocation. The Flatpak maker has failed on every run since v1.9.1 ("flatpak-builder failed with status code 1" — runs 27422983531, 27420071978, and the 1.9.2 release), and one maker failure aborts the entire invocation before publish, so no Linux assets shipped in v1.9.2, v1.9.3, or v1.9.4. The release runbook decision: Flatpak must not block desktop releases.

A second problem hidden inside the first: Forge swallows flatpak-builder's output, so all we ever saw was the status-code-1 line — the failures were never root-causeable from CI logs.

Changes

forge.config.tsMakerFlatpak is now only added to makers when WCPOS_FLATPAK=1. Default publish-app builds and publishes .deb/.rpm only.

tag-and-release.yml publish-linux

  • The publish step (deb/rpm) runs first and is the only blocking step.
  • Flatpak is attempted afterwards as a non-blocking chain (continue-on-error on every step): install Flathub runtimes → electron-forge make --targets=@electron-forge/maker-flatpak --skip-package with WCPOS_FLATPAK=1 and DEBUG='electron-installer-flatpak*' (so the real flatpak-builder error finally lands in the log) → upload the .flatpak to the release via gh release upload only on success.
  • A final step emits a ::warning + job-summary "Flatpak deferred" notice when the attempt didn't complete.

Validation

  • actionlint passes on the workflow.
  • forge.config.ts parse-checked with esbuild; CI lint/typecheck will run the full check.
  • Forge v7 CLI flags --targets / --skip-package confirmed against the Forge docs.

Follow-ups (out of scope)

  • Root-cause the flatpak-builder failure using the DEBUG output from the next run.
  • Finalize flathub/com.wcpos.main.yml once a .deb ships (per runbook).

The Flatpak maker has failed in CI on every release since v1.9.1, and a
maker failure aborts the whole 'electron-forge publish' invocation, so no
Linux assets shipped in v1.9.2-v1.9.4. Gate MakerFlatpak behind
WCPOS_FLATPAK=1 and attempt the Flatpak as a non-blocking make step with
debug output enabled, uploading the bundle to the release only on success.
@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@kilbot, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 36 minutes and 55 seconds. Learn how PR review limits work.

To continue reviewing without waiting, purchase usage credits in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: wcpos/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 1dd905ed-ade3-4957-9332-8a497049e6ff

📥 Commits

Reviewing files that changed from the base of the PR and between daff2e9 and 838be6b.

📒 Files selected for processing (2)
  • .github/workflows/tag-and-release.yml
  • forge.config.ts
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/linux-publish-decouple-flatpak

Comment @coderabbitai help to get the list of available commands and usage tips.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 61fdeb0ec0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/tag-and-release.yml Outdated
@kilbot

kilbot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

Fix triage

# Source File Class Category Decision Outcome
1 Codex tag-and-release.yml:256 Logic Major Fix Move flatpak flatpak-builder elfutils apt install out of the blocking deps step into the non-blocking Flatpak chain, leaving only deb/rpm + native-module prerequisites blocking
2 CodeRabbit Info Skip Rate-limit notice only, no review content

An apt failure resolving flatpak/flatpak-builder/elfutils in the blocking
deps step could still fail publish-linux before the .deb/.rpm publish.
Only deb/rpm + native-module prerequisites remain blocking.
@kilbot

kilbot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

Fix triage (updated)

# Source File Class Category Decision Outcome
1 Codex tag-and-release.yml Logic Major Fix ✅ Fixed in 838be6b — Flatpak apt packages moved into the non-blocking flatpak-runtime step; blocking step installs deb/rpm + native-module prerequisites only. Thread resolved.
2 CodeRabbit Info Skip Rate-limit notice only, no review content

kilbot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

Fix triage

Fresh unresolved review-thread inventory: 0 unresolved threads.

Thread File Issue Decision Commit
PRRT_kwDOHK85-c6JLTCG tag-and-release.yml Move Flatpak package installation out of the blocking Linux build dependency step so Flatpak apt failures cannot block .deb/.rpm publishing. Already fixed and thread is resolved/outdated; no new code change required this round. 838be6b

Excluded threads: none.

Validation:

  • pnpm install could not complete locally because rxdb-premium postinstall requires RXDB_PREMIUM, which is not available in this environment.
  • pnpm lint and pnpm run ts:check fail only on missing rxdb-premium/plugins/* modules caused by that postinstall blocker.
  • pnpm test passed.

No push was made because the PR branch already contains the required fix at 838be6b and the thread inventory is clean.

@wcpos-bot

wcpos-bot Bot commented Jun 12, 2026

Copy link
Copy Markdown

@coderabbitai review

@kilbot kilbot merged commit 65343c8 into main Jun 12, 2026
7 checks passed
@kilbot kilbot deleted the fix/linux-publish-decouple-flatpak branch June 12, 2026 17:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant